.container {
  display: inline-flex;
  align-items: center;
}

.input {
  display: none;
}

.displayInput {
  display: initial;

  &:hover {
    cursor: pointer;
  }
}

.label {
  position: relative;

  display: block;
  min-width: 16px;
  width: 16px;
  height: 16px;

  cursor: pointer;

  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(#d8d8ed, 1);
  transition: 0.15s ease;

  &::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    box-shadow: 0 5px 10px rgba(41, 130, 234, 0.3);
    opacity: 0;
    transition: 0.15s ease;
  }

  svg {
    opacity: 0;
    transition: 0.15s ease;

    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    color: var(--clr-primary);
  }
}

.text {
  cursor: pointer;
  opacity: 0.9;

  padding-left: 11px;
  margin-top: 2px;
  font-size: 14px;
}

input:disabled ~ .text {
  opacity: 0.6;
}

.container:hover:not(.container_checked) {
  input:not(:disabled) + .label {
    box-shadow: 0 0 0 1px var(--clr-primary);
  }
}

.container_checked {
  .label {
    box-shadow: 0 0 0 1px rgba(#d8d8ed, 0);

    &::before,
    svg {
      opacity: 1;
    }
  }
}
